package aliyun.cx.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import aliyun.cx.admin.entity.Tag;
import java.util.List;

public interface TagService extends IService<Tag> {
    
    /**
     * 分页查询标签列表
     */
    Page<Tag> getTagPage(Integer current, Integer size, String name);
    
    /**
     * 获取所有标签列表
     */
    List<Tag> getAllTags();
    
    /**
     * 创建标签
     */
    boolean createTag(Tag tag);
    
    /**
     * 更新标签
     */
    boolean updateTag(Tag tag);
    
    /**
     * 删除标签
     */
    boolean deleteTag(Long id);
    
    /**
     * 检查标签名称是否存在
     */
    boolean isNameExists(String name, Long excludeId);
    
    /**
     * 检查标签是否被文章使用
     */
    boolean isTagInUse(Long id);
    
    /**
     * 恢复标签
     */
    boolean restoreTag(Long id);
}
